package br.com.test;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

import br.com.DAO.ProdutoDAO;
import br.com.actionsimp.IActions;
import br.com.entidade.Categoria;
import br.com.entidade.Maquina;

@WebServlet("/hibernate")
public class ChamadaHibernate extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub

		// EntityManagerFactory factory = Persistence
		// .createEntityManagerFactory("maquina");
		// EntityManager em = factory.createEntityManager();
		// ProdutoDAO dao = new ProdutoDAO(em);
		Iterator<String> it = req.getParameterMap().keySet().iterator();
		while (it.hasNext())
			System.out.println(it.next());

		System.out.println("chamada hibenate");
		IActions Action;

		String tst = req.getParameter("formData");
		System.out.println(tst);

		Maquina maquina = new Maquina();
		Gson gson = new Gson();
		gson.fromJson(tst, maquina.getClass());
		
		System.out.println(maquina.toString());
		System.out.println(tst.toString());
		
		String command = req.getParameter("command");
		System.out.println(command);

		String greetings = "Teste" + tst;
		resp.setContentType("text/plain");
		resp.getWriter().write(greetings);

		// Categoria cat = new Categoria();
		// cat.setNome("Pesada");
		//
		// Maquina prod = new Maquina();
		// prod.setAlmox("Almox1");
		// prod.setCategoria(cat);
		// prod.setMarca("Caterpillar");
		// prod.setNome("Escavadeira");
		// prod.setPreco(123l);
		//
		//
		// dao.create(prod);

		// for (int i = 0; i < 10; i++) {
		// Produto prod = new Produto();
		//
		// prod.setAltura(100l * i);
		// prod.setCategoria("Teste" + i);
		// prod.setCor("azul" + i);
		// prod.setLargura(150l * i);
		// prod.setNome("Produto Teste" + i);
		// prod.setPreco(123l * i);
		// prod.setQuantidade(11l * i);
		//
		// dao.create(prod);
		// }

		// Produto p = dao.findById(12l);
		// System.out.println(p);
		// System.out.println(p.getCategoria());
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
